<?php
define('PROGRAMAR_CAPACITACION', 153);
define('CAPACITACIONES', 146);
define('AREAS', 157);


class Capacitacion extends CI_Controller
{
    
    function Capacitacion()
	{
        parent::__construct();
		date_default_timezone_set('America/El_Salvador');
		$this->load->helper('url');
		$this->load->helper('form');
		$this->load->model('evaluacion_model');
		$this->load->model('capacitacion_model');
		
		if(!$this->session->userdata('id_usuario')){
		 	redirect('index.php/sessiones');
		}
    }
	
	function index()
	{	
	
		$this->lista();


	}
	
	function lista($estado_transaccion=NULL,$accion=NULL)
	{
		$data['id_modulo']=CAPACITACIONES;
		consultar_permiso(CAPACITACIONES);

		$data['estado_transaccion']=$estado_transaccion;
		switch ($accion) {
			case 1:
				$data['msj']="La capacitación se ha guardado exitosamente";
				break;
			case 2:
				$data['msj']="La capacitación se ha modificado exitosamente";
				break;
			case 3:
				$data['msj']="La capacitación se ha eliminado";
				break;
			default:
				$data['msj']=NULL;
				break;
		}
		$data['d']=$this->capacitacion_model->capacitaciones();
		//prueba_v($data);
		pantalla('capacitacion/capacitaciones', $data);

	}

	function DN_capacitacion()
	{

		consultar_permiso(CAPACITACIONES);
		$data['areas']=$this->capacitacion_model->areas();			
		$this->load->view('capacitacion/DN_capacitacion',$data);

	}
	function DM_capacitacion($id_capacitacion)
	{	
		consultar_permiso(CAPACITACIONES);
		$data['d']=$this->capacitacion_model->capacitaciones($id_capacitacion);
		$data['areas']=$this->capacitacion_model->areas();			
		//prueba_v($data);
		$this->load->view('capacitacion/DM_capacitacion',$data);

	}
	function eliminar_capacitacion($id_capacitacion)
	{		

			consultar_permiso(CAPACITACIONES);
			$this->db->trans_start();			
			$this->capacitacion_model->eliminar_capacitacion($id_capacitacion);			
			bitacora("Eliminacion de capacitación id_capacitacion $id_capacitacion",5);
			$this->db->trans_complete();
			$tr=($this->db->trans_status()===FALSE)?0:1;
			ir_a('index.php/capacitacion/lista/'.$tr.'/3');	

	}
	function actualizar_capacitacion()
	{
				consultar_permiso(CAPACITACIONES);
				$this->db->trans_start();			
				$this->capacitacion_model->actualizar_capacitacion($_POST);			
				$id_capacitacion=$_POST['id_capacitacion'];
				bitacora("Modificacion de capacitación con id_capacitacion $id_capacitacion",4);
				$this->db->trans_complete();
				$tr=($this->db->trans_status()===FALSE)?0:1;
				ir_a('index.php/capacitacion/lista/'.$tr.'/2');	

	}
	function guardar_capacitacion()
	{
				consultar_permiso(CAPACITACIONES);				
				$this->db->trans_start();			
				$this->capacitacion_model->guardar_capacitacion($_POST);			
				$nombre=$_POST['nombre'];
				bitacora("Inserción  de capacitación: $nombre",3);
				$this->db->trans_complete();
				$tr=($this->db->trans_status()===FALSE)?0:1;
				ir_a('index.php/capacitacion/lista/'.$tr.'/1');	
	}
function areas($estado_transaccion=NULL,$accion=NULL)
	{
		$data['id_modulo']=AREAS;
		consultar_permiso(AREAS);
		$data['estado_transaccion']=$estado_transaccion;
		switch ($accion) {
			case 1:
				$data['msj']="El área se ha guardado exitosamente";
				break;
			case 2:
				$data['msj']="El área  se ha modificado exitosamente";
				break;
			case 3:
				$data['msj']="El área se ha eliminado";
				break;
			default:
				$data['msj']=NULL;
				break;
		}
		$data['d']=$this->capacitacion_model->areas();
		//prueba_v($data);
		pantalla('capacitacion/areas', $data);

	}

	function DN_area()
	{
		consultar_permiso(AREAS);
		$this->load->view('capacitacion/DN_area');

	}
	function DM_area($id_area)
	{	
		consultar_permiso(AREAS);
		$data['d']=$this->capacitacion_model->areas($id_area);			
		$this->load->view('capacitacion/DM_area',$data);

	}
	function eliminar_area($id_area)
	{		
			consultar_permiso(AREAS);
			$this->db->trans_start();			
			$this->capacitacion_model->eliminar_area($id_area);			
			$this->db->trans_complete();
			bitacora("Eliminación  de area id_area: $id_area",5);		
			$tr=($this->db->trans_status()===FALSE)?0:1;
			ir_a('index.php/capacitacion/areas/'.$tr.'/3');	
		
	}
	function actualizar_area()
	{
				consultar_permiso(AREAS);			
				$this->db->trans_start();			
				$this->capacitacion_model->actualizar_area($_POST);	
				$id_area=$_POST['id_area'];
				bitacora("Actualización  de area id_area: $id_area",4);		
				$this->db->trans_complete();
				$tr=($this->db->trans_status()===FALSE)?0:1;
				ir_a('index.php/capacitacion/areas/'.$tr.'/2');	
	}
	function guardar_area()
	{
				consultar_permiso(AREAS);
				$this->db->trans_start();			
				$this->capacitacion_model->guardar_area($_POST);			
				$area=$_POST['area'];
				bitacora("Inserción  de area nombre: $area",3);		
				$this->db->trans_complete();
				$tr=($this->db->trans_status()===FALSE)?0:1;
				ir_a('index.php/capacitacion/areas/'.$tr.'/1');	
	}
	function programacion($estado_transaccion=NULL,$accion=NULL)
	{
		$data['id_modulo']=PROGRAMAR_CAPACITACION;
		consultar_permiso(PROGRAMAR_CAPACITACION);
		$data['estado_transaccion']=$estado_transaccion;
		$id_edicion=$this->evaluacion_model->edicion_activa();
		$data['id_edicion']=$id_edicion;
		
		if ($id_edicion==0) {			
			die("No existe una evaluacion activa");
		}

		$data['msj']="La seleccion fue enviada al sistema de capacitaciones";
			
		$data['d']=$this->capacitacion_model->top_capacitaciones($id_edicion);			
		pantalla('capacitacion/top_capacitaciones',$data);
	}

	function enviar_capacitaciones()
	{		
		extract($_POST);	
	
	$this->db->trans_start();
		foreach ($selecion as $id_capacitacion) {
			

			$empleados=$this->capacitacion_model->get_empleados_capacitacion($id_capacitacion, $id_edicion);	
			prueba_v($empleados);

			$this->capacitacion_model->guardar_programada($id_capacitacion, $id_edicion);	
		 } 		
	bitacora("Insertado en el sistema de capacitaciones para una futura programacion",3);		
	$this->db->trans_complete();
	$tr=($this->db->trans_status()===FALSE)?0:1;			
	ir_a("capacitacion/programacion/".$tr);
	}	
	
}
?>
